2D Majority Game w/ Features and Traits

created with NetLogo

view/download model file: 2D MG Features Traits.nlogo

WHAT IS IT?
-----------
The current model extends the 2D Majority Game by incorporating both multiple features and multiple values. The agents still live in a 2D world with a toriodal topology (so there are still no 'edge effects'). Now the user can give each agent between one and six features and each feature can have between 2 and 8 values. In each step, agents change their state based upon the majority (or plurality) of their neighbors' states.

There are now up to 48 different types of agents (6 features times 8 values each). Features represent different "characteristics" (or "attributes" or "dimensions" or "properties") of an agent. Think of the number of features as the number of possible properties agents can keep track of. Features are like variables that just hold values. The number of values (called "traits" by Axelrod or sometimes "alleles" in the literature) represents the possible variety that a feature may exhibit.

Each agent is divided into six different blocks. The color of each block represents the value. The higher the value, the darker the color; each feature uses a different color. In this model, plurality means the mode of the colors of the agents' neighbors. Majority means that more than the specified percentage of an agent's neighbors must be the same color to cause the agent to change. Each feature is evaluated independently.

HOW TO USE IT
-------------
Clicking SETUP fills the world with agents (one per patch) each with the number of features you specified and each feature has a randomly chosen value from a uniform distribution of values (from 2 to the number you specify).

Clicking GO makes the turtles look at their neighbors and decide what to set their values to. All the agents look and change simultaneously, that is, the model employs synchronous updating. Clicking STEP runs GO just once.

The RADIUS slider allows the user to set how far away the agents will look to collect information about other users' states. In two dimensions, radius is a bit tricky. The radius includes all cells that can be reached from the home cell by moving vertically, horizontally, or diagonally for up to that many spaces. For example, if you set RADIUS to 1, each agent will look out to the eight cells surrounding it (plus the cell that itself is on). If you set RADIUS to 3, then it will include all spaces that can be reached in 3 "steps"; left 3, up 3, north-east 3, 2 to the right and one NE, etc. For more info about radius, see "Neighborhoods Example" in the Code Examples folder.

The USE-PLURALITY toggle switch allows the user to specifiy whether the decision rule is a "majority" rule or a "plurality" rule. If the USE-PLURALITY switch is on then each agent will convert its value to whichever value is most prominent among its neighbors (what about ties?). This is true even if, for example, there are two of one color and one of six other colors.

If USE-PLURALITY is off, then the decision is based upon majority rule. The PERCENT-NEEDED slider determines the quorum, i.e. how many neighbors with a particular value are necessary to make an agent change its value. At the lowest level (50%) the models runs a strict majority and at the maximum level (99%) unanimity is required.

The NUMBER_NEEDED monitor box lets the user know how many agents of a single value are required to convert each agent, given the provided RADIUS and PERCENT-NEEDED. Note that the actual number must be strictly greater than the number in this box (can you look at the code and answer why?).

THINGS TO NOTICE
----------------
By setting the number of values to 2, or the number of features to 1, compare the behavior of this model to the previous ones with just multiple values or features.

The colors that the model uses were chosen so that the model would run quickly (i.e. a minimum of code was used), but they are quite ugly and difficult to discern. Is it worth it? Notice where the line between an effective model and pure aesthics becomes fuzzy.

QUESTIONS
---------
1) Is there any insight gained from this model with both multiple features and multiple values that you couldn't get from the models with just multiple features and just multiple traits? If so, what is the insight? If not, why not?

THINGS TO TRY
-------------
Start the model using the Plurality Rule and a radius of one. Let the model settle down (or reach a periodic equilibrium). Now, while GO is still on, increase the radius to 2 and let the model settle down. Increase to 3, wait, increase to 4, wait, usw.

Build in some rule that connects the values of different features or effects the rules by which they can change (like self-consistency or stickiness). Try to predict the effect that your new rule will have before implementing it. Implement it. How good was your prediction?

CREDITS AND REFERENCES
----------------------
To refer to this model please use: Bramson, Aaron and Scott Page (2005). NetLogo 2D MG Features Traits model. "http://bramson.net/academ/scottsnetlogo/2D MG Features Traits.html". Center for the Study of Complex Systems, University of Michigan, Ann Arbor, MI.